.\" -*- nroff -*-
.\" macros
.de EX \" Begin Example
.  IP
.  ft CW
.  nf
.  ne \\$1
..
.de EE \" End Example
.  ft P
.  fi
.  PP
..
.TH SPEAKER\-TEST 1 "April 2nd, 2011" speaker\-test
.SH NAME
speaker\-test \- command\-line speaker test tone generator for ALSA
.SH SYNOPSIS
.B speaker\-test [\-options]

.SH DESCRIPTION
\fBspeaker\-test\fP generates a tone that can be used to test the speakers of a computer.

\fBspeaker\-test\fP by default will test the \fIdefault\fP device. If you
want to test another sound device you will have first to get a list of
all of the sound cards in your system and the devices associated with
those cards. Notice that there might be for example, one device for
analog sound, one for digital sound and one for HDMI sound.
To get the list of available cards and devices you can run \fBaplay \-L\fR.

.P \fBaplay\fR's output will be similar to this one:

.nf
$ aplay \-L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=ICH5
    Intel ICH5, Intel ICH5
    Default Audio Device
front:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5
    Front speakers
surround40:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5
    4.0 Surround output to Front and Rear speakers
(...)
.fi

.P Each of the devices is listed in the beginning of the definition so,
in the above example, there are four devices listed: null, default, front
and surround40. So, if you want to test the last device you can
run \fBspeaker\-test \-Dsurround40:ICH5 \-c 6\fR. The \fB\-c\fR option will
indicate that the six audio channels in the device have to be tested.





.SH OPTIONS

.TP
\fB\-c\fP | \fB\-\-channels\fP \fINUM\fP
\fINUM\fP channels in stream

.TP
\fB\-D\fP | \fB\-\-device\fP \fINAME\fP
PCM device name \fINAME\fP

.TP
\fB\-f\fP | \fB\-\-frequency\fP \fIFREQ\fP
sine wave of \fIFREQ\fP Hz

.TP
\fB\-\-help\fP
Print usage help

.TP
\fB\-b\fP | \fB\-\-buffer\fP \fITIME\fP
Use buffer size of \fITIME\fP microseconds.
When 0 is given, use the maximal buffer size.
The default value is 0.

.TP
\fB\-p\fP | \fB\-\-period\fP \fITIME\fP
Use period size of \fITIME\fP microseconds.
When 0 is given, the periods given by \fB\-P\fP option is used.
The default value is 0.

.TP
\fB\-P\fP | \fB\-\-nperiods\fP \fIPERIODS\fP
Use number of periods.  The default value is 4.

.TP
\fB\-r\fP | \fB\-\-rate\fP \fIRATE\fP
stream of \fIRATE\fP Hz

.TP
\fB\-t\fP | \fB\-\-test\fP \fBpink\fP|\fBst2095\fP|\fBsine\fP|\fBwav\fP
\fB\-t pink\fP means use pink noise (default).

Pink noise is perceptually uniform noise -- that is, it sounds like every frequency at once.  If you can hear any tone it may indicate resonances in your speaker system or room.

\fB\-t st2095\fP means use bandlimited pink noise at -18.5dB AES FS, generated according to SMPTE ST-2095:1-2015.
In addition to speaker localization it may be used for system calibration, for example 85dB for thater drivers, with an extra +10dB for subwoofers.
Per the spec, it is intended "to be used in calibrating the sound pressure level and
electroacoustic response of a cinema B-chain system."
Note that sampling rates less than 48KHz are outside the scope of the spec, and an attempt will be made to construct a reduced rate filter.

\fB\-t sine\fP means to use sine wave.

\fB\-t wav\fP means to play WAV files, either pre-defined files or given via \fB\-w\fP option.

You can pass the number from 1 to 3 as a backward compatibility.

.TP
\fB\-l\fP | \fB\-\-nloops\fP \fICOUNT\fP

Specifies the number of loops.  Zero means to run infinitely.

When \fB\-s\fP option below with a valid channel is given, \fBspeaker\-test\fP will perform
always a single-shot without looping.

.TP
\fB\-s\fP | \fB\-\-speaker\fP \fICHANNEL\fP
Do a single-shot speaker test for the given channel.  The channel number starts from 1.
The channel number corresponds to left, right, rear-left, rear-right, center, LFE,
side-left, side-right, and so on.

For example, when 1 is passed, it tests the left channel only once rather than both channels
with looping.

.TP
\fB\-w\fP | \fB\-\-wavfile\fP \fIFILE\fP
Use the given WAV file for the playback instead of pre-defined WAV files.

.TP
\fB\-W\fP | \fB\-\-wavdir\fP \fIDIRECTORY\fP
Specify the directory containing WAV files for playback.
The default path is \fI/usr/share/sounds/alsa\fP.

.TP
\fB\-m\fP | \fB\-\-chmap\fP \fIMAP\fP
Pass the channel map to override.
If the playback in a specific channel order or channel positions is
required, pass the channel position strings to this option.

.TP
\fB\-X\fP | \fB\-\-force-frequency\fP
Allow supplied \fIFREQ\fP to be outside the default range of 30-8000Hz. A minimum of 1Hz is still enforced.

.SH USAGE EXAMPLES

Produce stereo sound from one stereo jack:
.EX
  speaker\-test \-Dplug:front \-c2
.EE

Produce 4 speaker sound from two stereo jacks:
.EX
  speaker\-test \-Dplug:surround40 \-c4
.EE

Produce 5.1 speaker sound from three stereo jacks:
.EX
  speaker\-test \-Dplug:surround51 \-c6
.EE

To send a nice low 75Hz tone to the Woofer and then exit without touching any other speakers:
.EX
  speaker\-test \-Dplug:surround51 \-c6 \-s1 \-f75
.EE

To do a 2\-speaker test using the spdif (coax or optical) output:
.EX
  speaker\-test \-Dplug:spdif \-c2
.EE

Play in the order of front\-right and front-left from the front PCM
.EX
  speaker\-test \-Dplug:front \-c2 \-mFR,FL
.EE

.SH SEE ALSO
.BR aplay(1)

.SH AUTHOR
The speaker\-test program was written by James Courtier-Dutton.
Pink noise support was added by Nathan Hurst.
Further extensions by Takashi Iwai.
SMPTE ST-2095:1 band-limited pink noise added by Rick Sayre.
